package cn.com.surker.base.system.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * <p>
 * 仓位信息表
 * </p>
 *
 * @author admin
 * @since 2024-09-02
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class SysStorage implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 标识
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 公司ID
     */
    private Long orgId;

    /**
     * 编码
     */
    private String code;

    /**
     * 名称
     */
    private String name;

    /**
     * 仓位类型(0:筒仓1:堆场)
     */
    private Integer type;

    /**
     * 材料ID
     */
    private Long materialId;
    /**
     * 材料名称
     */
    private String material;
    /**
     * 最大容量
     */
    private Double maxCapacity;
    /**
     * 仓位材料盘点计算系数
     */
    private Double coefficient;
    /**
     * 仓位半径 筒仓必填
     */
    private Double radius;
    /**
     * 仓位描述
     */
    private String storageDesc;

    /**
     * 是否是共享仓 0是 1不是
     */
    private Integer isEnjoy;
    /**
     * 是否显示库存0显示1不显示
     */
    private Integer isStore;
    /**
     * 是否盘存0是1否
     */
    private Integer isInventory;


    /**
     * 盘点时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date inventoryTime;

    /**
     * 状态(0:启用1：禁用)
     */
    private Integer status;

    /**
     * 备注
     */
    private String remark;

    /**
     * 创建人
     */
    private String creator;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 修改人
     */
    private String updator;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    @TableField(exist = false)
    private Integer isCloud;
    /**
     * 仓位寄存地址
     */
    private String deposit;

}
